def outer():
    print("outter")
    a=1

    def inner():
        print("inner")
        nonlocal a#闭包是由于函数内部使用了函数外部的变量
        #这个函数对象不热销，则外部函数的局部变量也不会被销毁
        print(f"a:{a}")

    return inner()

inn=outer()
print("---")
inn()
# a = outer() #将outer这个函数的执行结果给a
# a()
